System and method for providing rotational haptic feedback

ABSTRACT

Systems and methods for providing haptic cues to a touch-sensitive input device having a rotary degree of freedom are described. One system described comprises a touch sensitive input device is configured to move in a rotary degree of freedom. The system further comprises an actuator configured to produce a rotational force on the touch-sensitive input device. In one such system, the actuator comprises an electromagnetic core configured to produce force on a magnet affixed to the touch-sensitive input device. In another such system, a motor provides the rotational force.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional ApplicationNo. 60/419,984 filed Oct. 20, 2002, the entire disclosure of which isincorporated herein by reference.

NOTICE OF COPYRIGHT PROTECTION

[0002] A portion of the disclosure of this patent document and itsfigures contain material subject to copyright protection. The copyrightowner has no objection to the facsimile reproduction by anyone of thepatent document, but otherwise reserves all copyrights whatsoever.

FIELD OF THE INVENTION

[0003] The present invention generally relates to providing hapticfeedback to user interface devices. The present invention moreparticularly relates to providing haptic feedback for a rotationaltouchpad.

BACKGROUND

[0004] Designers and manufacturers of hand-held devices, such aspersonal digital assistants, cell phones, and MP3 players are constantlystriving to improve the interfaces of these devices. One relativelyrecent innovation has been the introduction of the touchpad. Thetouchpad has become a common feature of conventional laptops and hasbegun to appear in hand-held devices as well.

[0005] One such hand-held device is a personal MP3 player. ConventionalMP3 players and other such devices include a circular touchpad, which isused to navigate menus, lists, and other user interface elements. Theuser interfaces may also include various other elements, includingconventional buttons.

SUMMARY

[0006] Embodiments of the present invention provide systems and methodsfor providing rotational haptic feedback. One embodiment provides hapticcues to a touch-sensitive input device having a rotary degree offreedom. One such embodiment comprises a touch sensitive input device isconfigured to move in a rotary degree of freedom, and an actuatorconfigured to produce a rotational force on the touch-sensitive inputdevice.

[0007] In one embodiment, the actuator comprises an electromagnetic coreconfigured to produce force on a magnet affixed to the touch-sensitiveinput device. In other embodiments, a motor provides the rotationalforce. For example, in one embodiment, the motor drives a belt. The beltis configured to rotate the touch-sensitive input device. In anotherembodiment, the motor drives a flexure, which is configured to rotatethe touch-sensitive input device.

[0008] Further details and advantages of embodiments of the presentinvention are set forth below.

BRIEF DESCRIPTION OF THE FIGURES

[0009] These and other features, aspects, and advantages of the presentinvention are better understood when the following Detailed Descriptionis read with reference to the accompanying drawings, wherein:

[0010]FIG. 1A is an MP3 device utilizing one embodiment of the presentinvention;

[0011]FIG. 1B is an exploded view of a user interface according to oneembodiment of the present invention;

[0012]FIG. 2 is a non-exploded, bottom view of the user interface shownin FIG. 1B in one embodiment of the present invention;

[0013]FIG. 3 is a cross sectional view of the user interface depicted inFIGS. 1B and 2 in one embodiment of the present invention;

[0014]FIG. 4 is a top view of the user interface shown in FIGS. 1-3 inone embodiment of the present invention;

[0015]FIG. 5 is a top view of one alternate embodiment of the presentinvention;

[0016]FIG. 6 is a top view of an embodiment of the present inventionutilizing a belt drive actuator;

[0017]FIG. 7 is a side view of the embodiment shown in FIG. 6;

[0018]FIG. 8 is a top view of an embodiment of the present inventionutilizing a flexure actuator;

[0019]FIGS. 9A and 9B are block diagram, illustrating communicationsoccurring between various elements in embodiments of the presentinvention;

[0020]FIGS. 9C and 9D are timing diagrams, illustrating two methods ofpassing signals between the elements shown in FIG. 9A in embodiments ofthe present invention;

[0021]FIG. 10 is a flowchart, illustrating a flow of information betweenvarious modules of the firmware in one embodiment of the presentinvention; and

[0022]FIGS. 11A and 11B illustrate an embodiment of a process forinterpreting list and haptic cue parameters according to the presentinvention.

DETAILED DESCRIPTION

[0023] Embodiments of the present invention include systems and methodsfor providing rotational haptic feedback. One embodiment includes acircular touchpad activated by a moving magnet actuator. Otherembodiments include small motors attached to a user interface element toprovide a rotational vibrotactile sensation. These and other embodimentsare described below.

[0024] Referring now to the drawings, in which like numerals indicatelike elements throughout the several figures, FIG. 1A illustrates an MP3player. The personal MP3 player includes a touch-sensitive input device,touchpad 102. Touchpad 102 senses the position of a conductor, such as afinger, on the surface of the touchpad. The touchpad is further able toprovide a position, comprising X and Y parameters, as well as apressure, Z parameter, as an output signal. The touchpad 102 shown inFIG. 1 utilizes capacitance, however, an embodiment of the presentinvention may be implemented in conjunction with any touch-sensitiveinput device, including resistive and membrane-switch touch-sensitiveinput devices.

[0025] Capacitance-based touchpads are well known to those skilled inthe art, and therefore, only a basic description of their function isprovided herein. A capacitance touchpad, such as touchpad 102 shown inFIG. 1, includes two sets of wires, which are perpendicular to oneanother and configured so that a gap is formed between them. When a userplaces a conductor, such as a finger, on the touchpad 102, wires of thetwo perpendicular sets are brought together and form a capacitance. Thetouchpad 102 measures which of the wires in each of the two sets has themost capacitance to determine where the conductor is touching thetouchpad 102 and, based on this information, provides the X and Ycoordinates of the position of the conductor on the touchpad 102.

[0026] The touchpad 102 also provides a pseudo pressure, Z. The pseudopressure is based on the amount of capacitance resulting from theconductor touching the touchpad 102. Accordingly, the amount ofcapacitance is not a direct measure of pressure but rather a pseudopressure.

[0027] The personal MP3 player shown in FIG. 1 also includes an LCDdisplay 120. In FIG. 1A, the LCD 120 is displaying a menu. A user usesthe touchpad 102 to navigate the menu. When the user moves a finger in acounterclockwise direction on the touchpad 102, signals are sent by thetouchpad 102 to a processor (not shown). Program code executing on theprocessor interprets the signals as a command to move down through thelist of items in the menu.

[0028] The processor executes computer-executable program instructionsstored in memory. Such processors may include a microprocessor, an ASIC,and state machines. Such processors include, or may be in communicationwith, media, for example computer-readable media, which storesinstructions that, when executed by the processor, cause the processorto perform the steps described herein. Embodiments of computer-readablemedia include, but are not limited to, an electronic, optical, magnetic,or other storage or transmission device capable of providing aprocessor, such as the processor 110 of client 102 a, withcomputer-readable instructions. Other examples of suitable mediainclude, but are not limited to, a floppy disk, CD-ROM, DVD, magneticdisk, memory chip, ROM, RAM, an ASIC, a configured processor, alloptical media, all magnetic tape or other magnetic media, or any othermedium from which a computer processor can read instructions. Also,various other forms of computer-readable media may transmit or carryinstructions to a computer, including a router, private or publicnetwork, or other transmission device or channel, both wired andwireless. The instructions may comprise code from anycomputer-programming language, including, for example, C, C++, C#,Visual Basic, Java, Python, and JavaScript.

[0029] Referring still to FIG. 1A, when the processor executes thecommands to redraw the display 120, the processor also sends a signal toa second processor or a second program. The signal includes informationnecessary to create a haptic cue. The second processor computes thewaveform necessary to create the cue and sends signals to an actuator.The actuator executes the waveform, causing the touchpad to rotateslightly back and forth. The user senses a vibrotactile effect thatapproximates a detent. Other cues, responses, vibrotactile effects, andother features may be provided.

[0030] An embodiment of the present invention may utilize any type oftouch-sensitive input device, such as the touchpad 102 described above,a touch panel, or other device. The input device may be of any shape,including round and rectangular shapes. The input device is configuredto move in a rotary degree of freedom. An actuator is configured toproduce a rotational force on the touch-sensitive input device.

[0031] In one embodiment of the present invention, the range of motionin the rotary degree of freedom is limited. To achieve the limitation,either the motor or the input device comprises means for limiting motionin the rotary degree of freedom. For example, in one embodiment, themotor comprises two rubber end stops at each limit of rotation. Inanother embodiment, the touch-sensitive input device includes end stopsto limit its range of motion.

[0032] Various types of actuators may be utilized in an embodiment ofthe present invention. For example, in one embodiment, thetouch-sensitive input device comprises one or more magnets and theactuator comprises a magnetic core, such as an E-core. When the magneticcore is energized, the core produces a rotational force on the inputdevice.

[0033] In another embodiment, a motor provides the rotational force. Inone such embodiment, the motor drives a belt, which is configured toproduce the rotational force directly or indirectly on the input device.In another embodiment, the motor is connected to a flexure, such as abrass flexure, which produces rotational force on the input device.

[0034] In one embodiment of the present invention, the freedom ofmovement of the touch-sensitive input device serves to increase theeffectiveness of a vibration imparted on the input device. By isolatingthe input device from the housing or other ground, the input device isable to move more freely in the rotary degree of freedom when vibrated.In one such embodiment, the actuator comprises an eccentric rotatingmass mounted on a motor.

[0035] An embodiment of the present invention may perform variousmethods. For example, in one embodiment, the processor receives an inputsignal and, in response, generates an output signal configured to causean actuator to produce a rotational force on the touch-sensitive inputdevice. In one such embodiment, the output signal is configured toimpart a “pop” sensation on the input device.

[0036]FIG. 1B is an exploded view of one embodiment of a user interfaceaccording to the present invention. The user interface 100 shown may beused an any one of a variety of devices, including, for example,personal digital assistants, cell phones, and MP3 players.

[0037] Referring again to FIG. 1B, the user interface 100 shown includesa circular touchpad 102. The touchpad comprises a user interface deviceoften used in place of a mouse or other similar pointing device. Oneembodiment of a touchpad provides a surface upon which a user slides afinger or other pointing device. Embodiments of touchpads include thosethat contain a two-layer grid of electrodes connected to an integratedcircuit, and rely on coupling capacitance. The upper layer of the gridcontains vertical electrode strips and the bottom layer containshorizontal electrode strips. The integrated circuit measures capacitanceat the intersections of the horizontal and vertical strips. Movement ofthe user's finger across the touchpad causes changes in the capacitance.A processor interprets the change in capacitance as a particular userinput. The embodiment shown includes a circular touchpad. Touchpads,buttons, and other interface elements of both circles and other shapesmay be used in embodiments of the present invention.

[0038] In the embodiment shown in FIG. 1B, the touchpad 102 provides aone-dimensional, single axis of movement. Movement around the touchpadcauses a change in the list position or to other interface parameters.For example, in one embodiment, if the user moves a fingercounterclockwise on the touchpad 102, a controller (not shown)associated with the touchpad 102 interprets the movement as down orright. If the movement is clockwise, the controller interprets themovement as up or left.

[0039] The touchpad 102 in FIG. 1B has a hole 103 in its center. Inother embodiments, the touchpad 102 or other interface element does nothave a hole. A bushing 104 is inserted into the hole 103 from theunderside of the touchpad 102 as shown. The bushing 104 both supportsand physically isolates the touchpad 102 from the other elements of theuser interface 100, allowing the touchpad 102 to rotate about a centralaxis. The nature of the bushing 104 shown in FIG. 1B does not allow thetouchpad to move up and down or side to side. Other embodiments allowsuch movements.

[0040] The bushing 104 or other support preferably offers stabilitycombined with low friction. In the embodiment shown in FIG. 1B, thebushing 104 is constructed from a low-friction plastic material. Inother embodiments, the bushing 104 is constructed from metal or anothersuitable material. The placement of the bushing 104 allows the touchpadto rotate in response to an actuator.

[0041] In other embodiments, the bushing 104 may be replaced withlinkages or alternative pivots to allow the touchpad 102 to react theforces. An embodiment may utilize roller elements or balls to supportthe magnets against the fixed steel to maintain the optimal gap. In oneembodiment, the touchpad 102 does not include a center hole. Such anembodiment may eliminate physical switches and implement buttons,including the center button, as virtual buttons. The touchpad 102 mayalso include additional distinct regions anywhere on its surface torepresent buttons. By utilizing a rotational movement for a circulartouchpad, the embodiment shown in FIG. 1B provides a natural-feelingsensation to a user. The sensation feels the same everywhere on thetouchpad in the embodiment shown; in other embodiments, the constructionof waveforms and other means may be employed to vary the sensation atdifferent locations on the touchpad.

[0042] Preferably the rotation of the touchpad 102 is limited tooptimize the haptic cue. A user experiences a haptic cue optimally whenthe user is unaware of the actual movement of the user interface andinstead feels only the cue itself. In one embodiment, a pin (not shown)is attached to the touchpad 102. The pin sits in a slot (not shown) inthe button carrier 106. The slot is parallel to the touchpad 102 so thatwhen the touchpad 102 rotates, the pin travels within the slot. In apreferred embodiment, the slot has a length of 2 millimeters. Anapproximately 2-millimeter stroke is preferred for providing a hapticcue without a user realizing that the touchpad 102 is rotating. Thissmall displacement occurs in response to an actuator and the rotation isfelt by the user as a real time haptic cue synchronized with the userinterface display events.

[0043] Self-centering of the touchpad 102 is also preferable in anembodiment of the present invention. The actuator 111 shown providesself-centering in the form of a high reluctance torque, which is alsoreferred to as “cogging.” The natural tendency of the actuator 111 tospring center itself keeps the system near equilibrium and prevents thefinger dragging force from rotating the touchpad 102 to one limit stopwhere only half of a waveform defining a haptic cue would be felt. Otherembodiments may realize such spring centering with the addition ofsprings; however, the addition of springs would add additionalresistance that would have to be overcome by the output force of theactuator 111.

[0044] The bushing 104 also has an opening in the middle. The openingallows the bushing to be situated around a central button 106 of abutton carrier 108. The button carrier 108 of the embodiment shownsupports conventional buttons. In other embodiments, the button carrier108 may be constructed to accommodate other button types. A button cap110 snaps onto the central button 108 and secures the bushing 104 andthe touchpad 102.

[0045] As described above, the bushing 104 allows the touchpad 102 torotate. An actuator in communication with the touchpad 102 providesforce to rotate the touchpad 104 and produce a haptic effect. Theactuator in the embodiment shown in FIG. 1B is a small, moving magnetactuator 111. The actuator 111 uses a radial geometry and rotationalsupport to create magnetic attractive forces. The magnetic assembly andpoles are curved. Such a configuration creates a constant nominalmagnetic gap and produces a rotational torque.

[0046] In such an embodiment, the stationary steel may be formed intodistinct shapes to fit in various locations in a preexisting devicedesign without affecting the stationary steel's ability to create amagnetic field. Such an embodiment may include various shapes and beimplemented in various positions within a device.

[0047] The actuator includes a backing plate 112. In the embodimentshown, the backing plate 112 is made from steel. Attached to the backingplate 112 is a two-pole magnet 114. The two-pole magnet 114 may comprisea single, curved two-pole magnet or a series of smaller magnets arrangedto form a two-pole magnet. However, the two-pole magnet 114, may becreated using a series of smaller magnets as is shown in FIG. 1B. In theembodiment shown, the two-pole magnet 114 comprises six small magnets,three north and three south. The steel backing plate 112 and the magnet114 rotate with the touchpad 102 and are therefore supported indirectlyby the bushing 104.

[0048] In the embodiment shown in FIG. 1B, a magnetic field causes thetouchpad 102, steel backing plate 112, and magnet 114 to rotate. AnE-Core 116 creates the magnetic field. The E-Core 116 shown is aferromagnetic material created to roughly approximate the shape of theletter E. The central pole of the E-Core 116 is wrapped with a coil 118.When current goes through the coil 118 it influences the magnetic fieldthat is coupled between the magnets in the two-pole magnet 114. And thecurrent that goes through that coil 118 produces forces on the magnet114 and results in a torque about the center of rotation of the circulartouchpad 102.

[0049] The E-Core 116 is mounted in the embodiment such that the polesof the E-Core maintain an optimal gap from the magnet 114 mounted on thebacking 116. Therefore, when the E-Core 116 emits a magnetic field, themagnet 114 moves. And since the magnet is attached to the backing plate112, which is attached to the touchpad 102, the touchpad 102 moves aswell. The structure is arranged such that the magnet 114, and thus thetouchpad 102, moves rotationally when the actuator 111 is activated. Acontroller (not shown) controls the magnetic field precisely so that themovement approximates a waveform, which is interpreted by the user ofthe touchpad 102 as a specific vibrotactile effect.

[0050]FIG. 2 is a non-exploded, bottom view of the user interface 100shown in FIGS. 1A and 1B. The touchpad 102 is mounted on a bushing 104.The bushing 104 is mounted in the center of the button carrier 106. FIG.2 illustrates the spatial relationship between the backing steel 112 andattached two-pole magnet 114 and the poles of the E-Core 116. Since thepoles of the E-Core are curved, a constant, optimal gap is maintainedbetween the poles and the magnet 114. FIG. 2 also illustrates fourconventional buttons 202 a-d located on the button carrier 106 andvisible on the interface 100 of the personal MP3 player shown in FIG.1B. Also shown is the control cable 204 that carries signals from thetouchpad 102 to a processor (not shown).

[0051]FIG. 3 is a cross sectional view of the user interface 100depicted in FIGS. 1B and 2. FIG. 3 further illustrates the physicalrelationship between the touchpad 102, the bushing 104, and the centralbutton in the button carrier 108. FIG. 3 also illustrates the physicalrelationship between the touchpad 102 and the actuator structure 111.

[0052]FIG. 4 is a top view of the user interface 100 shown in FIGS. 1-3.FIG. 4 illustrates the relationship between the various elements of anembodiment as perceived by the user. In addition, in the embodimentshown, the E-Core 116 is attached to the corner of a printed circuitboard (PCB) 402. The PCB 402 provides a solid mounting point for theE-Core 116. In other embodiments, the E-Core 116 may comprise anelongated E-shaped conductive material attached to another element in adevice. As is described above, the material may be formed in manydifferent shapes and lengths and placed anywhere within a particulardevice. The ability to conform the E-Core 116 to a shape necessary forpackaging within an existing design provides great flexibility inimplementing an embodiment of the present invention. This flexibilityalso allows an embodiment to be implemented with minimal impact on thepre-existing components within a device. Therefore, embodiments of thepresent invention may be implemented in the design of new devices orcreated as replacement kits for existing devices. Regardless of theshape utilized, the various embodiments of the E-Core 116 maintain aconsistent gap between the magnet 114 and the poles of the E-Core 116preferably.

[0053] An embodiment of the present invention is particularlyadvantageous for providing haptic feedback in small devices, such as apersonal digital assistant (PDA), cell phone, or MP3 player. Suchdevices conventionally include circular touchpads such as the touchpad102 shown in FIGS. 1A and 1B or may include rotary dials or othersimilar user interface elements (embodiments of the present inventionmay be employed to provide haptic feedback to all such elements). Theuser of such a device utilizes the circular touchpad to navigate themenus 404 of the device. An embodiment of the present invention may beimplemented in the device to provide haptic cues in response to userinterface events, such as the change of a displayed cursor position orreaching the end of a list of items in a menu.

[0054] Such a device may be created by adding a processor (not shown)and firmware to the embodiment shown in FIGS. 1-4 that is capable ofreceiving real-time, serial data from the device, processing the eventsand, in response, generating a signal. Alternatively, the device'sprimary processor may perform the functions required for an embodiment.The processor receives input and generates signals for the coil. In oneembodiment, an amplifier (not shown) accepts the signal generated by theprocessor and supplies a high current signal to the E-Core 116. Thecurrent drives the coil 118; whose field acts in a magnetic circuitarranged in such a way that it produces a torque on the circulartouchpad 102.

[0055] The amplifier may be, for example, a DC or AC-coupled audioamplifiers. However, an AC-coupled audio amplifier may be preferable inmany environments because of the relatively low cost, the availabilityof off-the-shelf components, and the ability to use a larger range ofcoil resistance than is practical for a DC-coupled amplifier. Also, theAC-coupled amplifier may be bypassed with large capacitance values topermit very high peak root-mean-square (RMS) currents while preventingaccidental overheating.

[0056] Various other embodiments of the present invention are capable ofproviding force feedback in rotational interface elements. Theseembodiments are capable of implementation in a small device, such as anMP3 player, a personal digital assistant (PDA), or a digital camera. Theactuator in small devices is preferably 6 mm or less in height andrequires low RMS current on the order of 150-200 mA.

[0057]FIG. 5 is a top view of one alternate embodiment of the presentinvention in which an eccentric rotating mass motor providing feedbackfor a rotational touchpad. In the embodiment shown, a touchpad 500rotates around a central axis 502. The touchpad 500 is attached to asmall motor 504 near the outer edge of the touchpad 500. A fastener,such as a screw, attaches the motor 504 and touchpad 500. The motor 504shown in FIG. 5 is commonly referred to as a coin style vibration motor.The motor 504 is of a type conventionally used in pagers to provide avibration and is particularly advantageous for use in a small devicebecause of its small profile and ability to fit inside of a small case.The motor 504 shown in FIG. 5 operates on 3.3 volts, are approximately 2centimeters in diameter and 5 millimeters in height.

[0058] The motor 504 includes an eccentric mass. The eccentric mass andall of the windings and additional components of the motor operatewithin that volume. The motor 504 naturally produces a vibration ofapproximately 80 hz. However, in the embodiment shown, the motor isdriven bi-directionally to create frequencies greater than 80 Hz.

[0059] The motor 504 is attached to the underside of the touchpad 500and rotates in the same plane as the touchpad 500 rotates. The motorrotation is limited. Two rubber end-stops 606 a, b limit the rotation ofthe motor 504. Preferably, the rotation of the touchpad 500 is limited.In the embodiment shown, since the rotation of the motor 504 is limitedand the motor 504 is attached to the touchpad 500, the rotation of thetouchpad 500 is limited as well.

[0060] The embodiment shown in FIG. 5 is extremely strong when operatingin DC mode and is able to vibrate the touchpad 500 quite violently,producing a distinct, strong “pop” sensation. Careful adjustment of theeffect length results in an extremely convincing effect. Such anembodiment may be used to perform a standard vibration function alongwith creating a vibrotactile-effect. The ability to combine multiplefunctions in a single device is a particularly advantageous feature ofthis embodiment.

[0061] The use of the embodiment shown in FIG. 5 may provide poorhigh-frequency response because during experimentation at frequenciesabove 15 Hz, the motor no longer rotates in ERM mode, and force began todrop off. By 100 Hz, the forces are difficult to sense. Also, the motor504 shown required 70 ms to achieve full ERM forces. Also, theembodiment shown produced only a limited number of haptic effects. Theseattributes may be eliminated or reduced by employing a different typeof, or more advanced, motor.

[0062] The embodiment shown in FIG. 5 may be modified in various ways toaffect its ability to provide haptic feedback. For example, thecoin-style vibration motor may include a spring mount attached betweenthe motor 504 and the touchpad, converting the motor 504 into ahighly-eccentric rotating mass (HERM). Also reducing the mass of thetouchpad 500 and decreasing any vibration present in the central axis502 may enhance the effect of the motor vibration.

[0063]FIG. 6 is a top view of yet another embodiment of the presentinvention. The embodiment shown in FIG. 6 utilizes a belt-drive systemto provide haptic effects. FIG. 7 is a side view of the embodiment shownin FIG. 6. In the embodiment shown, a touchpad 600 rotates around acentral axis 602. A small DC motor 604 turns a capstan or pinion 606. Abelt 608 wraps once around the capstan, twists 90° and then wraps aroundthe touchpad 600. The belt 608 sits in a pulley groove machined into theoutside edge of the touchpad 600. In operation, the motor 604 is drivenback and forth to provide haptic sensations in the touchpad 600. Anembodiment, such as the one shown in FIGS. 6 and 7, is capable ofproviding feedback to a touchpad over either a limited range ofrotation, or over a large range of rotation. However, in a touchpad thatrotates over a large range, such as 360°, the motor, capstan, and beltstill provide a vibrotactile effect as opposed to a kinesthetic effect.

[0064] The embodiment shown in FIGS. 6 and 7 provides high torqueamplification. For example when a small capstan 606 with a 6 mm diametercombines with a large touchpad 600 with a 52 mm diameter, the embodimentcan provide an 8.7:1 amplification, resulting in a measured peak torqueat the touchpad 600 of 2.2 mNm. This amplification allows a relativelyweak motor to product a strong enough vibration to deliver a convincingvibrotactile force.

[0065] An embodiment such as the one shown in FIGS. 6 and 7 provides acompact assembly. The distance between the center of rotation of thetouchpad 600 and motor 604 is determined by the o-ring diameter.Therefore, a smaller diameter o-ring provides an even more compactimplementation. The embodiment shown produces sensations up toapproximately 200 Hz. Although the belt 608 shown in FIGS. 6 and 7 is arubber belt, the belt 608 may comprise a variety of materials, includingsteel cable, wire, and string. The rubber belt is advantageous becauseis it self-tightening and therefore requires no external spring or largetension in the cable. Additionally, since the rubber belt 608 is notfixedly attached to the touchpad 102, the belt 608 is never fullygrounded, i.e., the belt 608 continues to move around the touchpad 102when the touchpad 102 stops moving. Accordingly, even if the usergrounds touchpad 600, the motor continues to rotate and add energy tothe system, i.e., spin the belt 608. If the motor 604 were to stall, thepower consumption would increase.

[0066] Various modifications of the embodiment shown in FIGS. 6 and 7may be implemented. For example, a stiffer belt material would reduceflex and stretch and thereby increase the efficiency of energytransmission. Also, the belt 608 may wrap around the capstan 606multiple time, eliminating the potential for belt slippage and movementacross the capstan 606. In addition, adhering the belt 608 to thetouchpad 600 would reduce the potential for slipping and thecorresponding energy loss. In other embodiments, a smaller motor 606reduces the size of the device.

[0067]FIG. 8 illustrates another embodiment of the present invention.Like the embodiment shown in FIGS. 6 and 7, the embodiment shown in FIG.8 includes a small DC motor 804 with a pinion 806. The pinion 806 isattached to a brass flexure 808. The brass flexure 808 is bent in twoplaces 810 to form hinges. The flexure 808 is also attached to thetouchpad 800, which again rotates around a central axis 802. As themotor 804 rotates back and forth, it provides haptic feedback to thetouchpad 800.

[0068] The bend 810 in the brass flexure 808 provides a degree offreedom necessary to rotate the touchpad 800 from side-to-side using apinion 806 rotating up and down. A metal flexure is preferable to aplastic flexure in a small device. The range of rotation of the touchpad800 is preferably limited.

[0069] The embodiment shown in FIG. 8 provides high torque amplificationwith no backlash over a limited rotation angle. The combination of thesmall pinion 806 and the large touchpad provides the amplification. Forexample, the pinion pictured has a 6 mm diameter and the touchpad 800has a 40 mm diameter, providing a 6.7:1 amplification, allowing arelatively weak motor to deliver convincing vibrotactile forces. Thedevice shown provides a measured peak torque 1.8 mNm betweenapproximately 0 and 200+ Hz. Although a metal flexure is preferred,other materials may be used to create the flexure, such a polypropyleneor spring steel. One advantage of spring steel is its self-centeringproperties, i.e., the spring hinge finds a neutral position. Asdescribed above, a smaller motor decreases the size of an embodiment.Embodiments may also use a single-piece, molded hinge. The embodimentshown in FIG. 8 is preferably a large diameter touchpad 102. Thetouchpad 102 is preferably not a continuous turn device

[0070] An embodiment of the present invention includes processing logic.The processing logic may be in the form on computer program code storedin a computer-readable-medium, such as a programmable read-only memory(ROM). Processing logic so stored is often referred to as firmware.Firmware according to the present invention accepts parameters regardingthe context in which the user is operating as well as user interfaceparameters to determine the type of haptic effect to create. Thefirmware may perform other tasks as well.

[0071]FIGS. 9A and 9B are block diagram, illustrating communicationsoccurring between various elements in embodiments of the presentinvention. In the embodiment shown in FIG. 9A, a touchpad 900 receivessignals from buttons 902. The touchpad 900 also communicates with adevice processor 904. The device processor 904 receives the interfaceinputs and, using software and/or firmware, determines the appropriatesignals to transmit to the liquid crystal display (LCD) 906. In anembodiment of the present invention, the device processor 904 also sendsserial signals to a haptics processor 908. The haptics processor 908utilizes firmware to compute forces and corresponding actuator commands.The haptics processor 908 communicates the resulting commands to ahaptics actuator 910. In the alternative embodiment shown in FIG. 9B,the touchpad 900 communicates signals to the haptics processor 908,which communicates original or modified serial or PS/2 signals to thedevice processor 904.

[0072]FIGS. 9C and 9D are timing diagrams, illustrating two methods ofpassing signals between the elements shown in FIG. 9A in an embodimentof the present invention. In the embodiment shown in FIG. 9C, thehaptics processing is performed by the haptics processor based on inputfrom the device processor, which includes list information and cursorevents. Such an embodiment requires few changes to a device; the devicemust simply support a serial output interface. Such an interfacesupports fixed-size detents, end-of-list functionality and hot-keyfunctionality.

[0073] Referring to FIG. 9C, when a button 902, such as the buttonsshown in the personal MP3 player interface of FIG. 1B, receives input,such as when a user pushes the button 902. In response, the button sendsa transistor-transistor logic (TTL) signal to the touchpad 102, 912. Thetouchpad 102 interprets this information as well as any user inputdirectly on the touchpad 102 and sends a serial or PS/2 signal to thedevice processor 904, 914. In response, the device processor 904 sendsthe appropriate signals to the LCD 906 to modify the display viewed bythe user 916. The device processor 904 also sends a serial packet to thehaptics processor 908, 918. The serial packet may include, for example,a start character, a packet identifier, the length of the currentlydisplayed list, the visible length of the list, the list offset, thevisible list offset, the haptic cue, and a checksum. In one embodiment,the haptics cue includes identifiers for new list, interface buttons,parent, and low battery.

[0074] The embodiment shown in FIG. 9D includes the same basiccomponents; however, the message flow between the various elements issomewhat different. In this embodiment, the haptics processor interceptsthe touchpad 102 radial position signal 914 and includes logic toprocess the list information accordingly. In such an embodiment, amessage 922 passes from the haptics processor to the device processorthat includes the touchpad signal. As with the previously illustratedembodiment, such an embodiment requires few changes to the subjectdevice. The embodiment can create various effects, includingvariable-size detents, end-of-list, hot keys, rate control, virtualbuttons, long lists, and breakouts. Since the haptics processor 908 mustgenerate the touchpad signal to send to the device processor 904, thehaptics processor may need to emulate the touchpad's native protocol.

[0075] Various types of effects may be created to effectively providehaptic cues in an embodiment of the present invention. One embodimentfeatures a “tink” effect on detent change; a “tonk” effect on screenscroll; a “thunk” effect on last item in list; a “pang-ping” effect onnew list, a falling frequency on low battery or power down; a“tick-tick” indication when cursor lands on a parent; and a “bleep”effect when a button is pressed.

[0076]FIG. 10 is a flowchart, illustrating the flow of informationbetween various modules of the firmware in an embodiment of the presentinvention. The firmware comprises software that is stored in read onlymemory in a device, such as in an electrically erasable programmable ROM(EEPROM). The firmware is designed as a series of interrelated modules.By utilizing modules, the ease of maintenance and portability of thefirmware are enhanced. In the embodiment shown, a PC 1002 or Device 1004serial port utilizes a serial link to provide information to a serialmodule 1008. Either device can set force effects in the firmware. Theserial module implements the serial communications link usinghardware-dependent calls. The main task is to send and receivecharacters. The serial communication module 1010 implements the serialcommunication protocol to code-decode packets that will be sent orreceived. The device manager module 1012 determines which module isresponsible for processing an incoming packet. The types of incomingpacket may include list effects, basic effect, or a packet containingposition only. If the device manager 1012 detects an effect packet, thelist manager module 1016 handles the packet. The list manager module1016 interprets the list parameters and implements the required effect.If the device manager 1012 detects a basic effect, the effect manager1014 handles the effect. As indicated in FIG. 10, the list manager 1016may determine that a basic effect is required.

[0077] The effect generator module 1020 computes the effect. The forcemodule 1022 performs the interface functionality between the computedforce value and the micro-controller peripheral that writes the computedforce to the actuator and associated electronics. The force module 1022supports an enabling line, a direction line and a pulse width modulation(PWM) line. The PWM module 1024 is a hardware-dependent module thatwrites the computed force values to the actuator and/or electronics. Thefirmware controls the instantaneous current through the coil bymodulating the duty cycle of a high frequency pulse train, typically10-40 KHz. The module 1024 supports each of the lines specified in theforce module 1022 even if a corresponding action is not available.Supporting the additional lines provides flexibility and portability.

[0078]FIGS. 11A and 11B illustrate two embodiments of the process forinterpreting list and haptic cue parameters in embodiments of thepresent invention. The process illustrated in FIG. 11A is a synchronousprocess; the process illustrated in FIG. 11B is asynchronous. An examplehelps to illustrate the difference between the two approaches. In theexemplary case, the firmware compares two consecutive packets anddetermines that (i) the cursor jumped 3 cells and (ii) the battery islow. In a synchronous embodiment, the processor processes the listeffects before disabling the forces. In other words, the device expendscurrent to generate forces notwithstanding the low power level of thebattery. If, instead, the forces are merely set and then played after itis determined whether the battery level is low, asynchronous embodiment,power output is minimized according to battery state.

[0079] In the process illustrated in FIG. 11A, the firmware gets datafrom a received packet 1102. The firmware utilizes the data to compute aposition offset 1104. The firmware utilizes this information for bothlist processing 1106 and haptic processing 1108 before ending theprocess 1110.

[0080] If the data indicates that the user has entered a new list 1112,firmware causes a new list effect to be played 1114. Playing the effectimmediately upon determining the state of the interface is synchronousprocessing. If the data does not indicate that a new list has beenentered, the firmware determines whether the position has changed, i.e.,is the position delta greater than zero 1116. If so, the firmwaredetermines whether the end-of-list has been reached 1118. If yes, thefirmware causes the end list effect to be played 1120. If theend-of-list has not been reached, the firmware determines whether ascroll event has occurred 1124. If so, the firmware causes a scrolleffect to be played 1126, and if not, a detent effect to be played 1128.When the firmware completes the list processing 1106, it begins thehaptic processing 1108.

[0081] The firmware first checks for a low battery state 1130. If thebattery is low, the firmware causes the low battery effect to be played1132 and ends the process 1110. If not, the firmware determines whethera parent effect should be played 1134. If so, the firmware causes aparent effect to be played 1136 and ends the process 1110. If not, thefirmware determines whether a button effect should be played 1138. Ifso, the firmware causes a button effect to be played 1140 and ends theprocess 1110. If no button effect is to be played, the firmware ends theprocess 1110.

[0082] The asynchronous process illustrated in FIG. 11B is almostidentical except for the addition of a couple of processes. Also, ratherthan causing effects to be played immediately, in the embodiment shownin FIG. 11A, the firmware sets the event to be played subsequently. Thefirst step in the list manager process 1106 determines whether an effectshould be set 1111. If so, list processing occurs as illustrated in FIG.11A. If the effect is not to be set, the firmware causes a low batteryeffect and disables forces 1132. The second additional process occursduring the effect process 1108. If an effect is set in the list process106, the firmware causes the effect to be played in step 1133, afterdetermining the battery state in step 1130.

[0083] To effectively perform the processing logic illustrated in FIGS.11A and 11B, position latency should preferably be limited to 15 ms,which corresponds to a screen refresh rate of 60 Hz. Packet and listparameter latency, i.e., how often list parameters are changed, are alsopreferably 15 ms. This period of latency corresponds to how oftenchanges requested by the user can be reflected on the display. Thefirmware may execute the processing logic in response to a number ofevents, including effect completion, a timer, and preferably upon packetreception. Various embodiments may perform additional processing,including comparing two consecutive packets to detect changes, allowingmultiple effects at one time, and receiving a persistent low batterysignal.

[0084] The foregoing description of the preferred embodiments of theinvention has been presented only for the purpose of illustration anddescription and is not intended to be exhaustive or to limit theinvention to the precise forms disclosed. Numerous modifications andadaptations thereof will be apparent to those skilled in the art withoutdeparting from the spirit and scope of the present invention.

That which is claimed:
 1. A system comprising: a touch-sensitive inputdevice configured to move in a rotary degree of freedom; and an actuatorconfigured to produce a rotational force on the touch-sensitive inputdevice.
 2. The system of claim 1, wherein the touch-sensitive inputdevice comprises a touchpad.
 3. The system of claim 2, wherein thetouchpad comprises a generally circular touchpad.
 4. The system of claim1, further comprising means for limiting the rotary degree of freedom.5. The system of claim 1, wherein the touch-sensitive input devicefurther comprises a magnet, and wherein the actuator comprises amagnetic core.
 6. The system of claim 5, wherein the magnetic corecomprises an E-core.
 7. The system of claim 1, wherein the actuatorcomprises: a motor; and a drive belt driven by said motor and configuredto produce the rotational force on the touch-sensitive input device. 8.The system of claim 6, wherein the motor further comprises a pair of endstops to limit the rotation of the motor.
 9. The system of claim 1,wherein the actuator comprises: a motor; and an eccentric rotating massconfigured to impart a vibration on the touch-sensitive input device.10. The system of claim 1, wherein the actuator comprises: a motor; anda flexure driven by said motor and configured to produce the rotationalforce on the touch-sensitive input device.
 11. The system of claim 10,wherein the flexure comprises brass.
 12. The system of claim 1, furthercomprising a housing, wherein the actuator is grounded to the housing.13. The system of claim 1, further comprising a processor configured toreceive an output signal from the touch-sensitive input device andgenerate an input signal operable to cause the actuator to produce therotational force.
 14. A method comprising: receiving an input signal;and generating an output signal configured to cause a rotational forceon a touch-sensitive input device in response to the input signal. 15.The method of claim 14, wherein generating the rotational forcecomprises generating a rotational force within a limited range ofmotion.
 16. The method of claim 14, wherein the rotational force isconfigured to impart a pop sensation on the touch-sensitive inputdevice.
 17. A computer-readable medium on which is encodedprocessor-executable program code, the computer-readable mediumcomprising: program code for receiving an input signal; and program codefor generating an output signal configured to cause a rotational forceon a touch-sensitive input device in response to the input signal. 18.The computer-readable medium of claim 17, wherein the program code forgenerating the rotational force comprises program code for generating arotational force within a limited range of motion.
 19. Thecomputer-readable medium of claim 17, wherein the rotational force isconfigured to impart a pop sensation on the touch-sensitive inputdevice.